package cn.itsource.smartcampus.service.impl;

import cn.itsource.smartcampus.domain.LoginUser;
import cn.itsource.smartcampus.exception.GlobalException;
import cn.itsource.smartcampus.mapper.LoginuserMapper;
import cn.itsource.smartcampus.service.LoginuserService;
import cn.itsource.smartcampus.util.TokenMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


import java.util.UUID;

@Service
public class LoginuserServiceImpl implements LoginuserService {
    @Autowired
    private LoginuserMapper mapper;


    @Override
    public String login(LoginUser user) throws GlobalException {

        System.out.println(user.getName());
        System.out.println(user.getPwd());
        //判断用户名是否为null或者空字符
        if(user.getName()==null || user.getName().equals("")){
            throw new GlobalException("用户名不能为空");
        }
        //判断用户名是否为null或者空字符
        if(user.getPwd()==null || user.getPwd().equals("")){
            throw new GlobalException("密码不能为空");
        }
        LoginUser login = mapper.login(user);
        //判断是否登录成功
        /**
         * 这里判断的是从数据库中读取出来的登录用户对象
         * 如果找不到数据库中的对象，那就是输错了
         */
        if(login==null){
            throw new GlobalException("用户名或者密码错误");
        }
        //登录成功，生成一个令牌，保存到map集合中
        String token = UUID.randomUUID().toString();
        TokenMap.setTokenMap(token,login);
        return token;
    }
}
